//#include <stdio.h>
//#include <assert.h>
//#include <stdint.h> 
//
//
//void* my_memcpy_byte(void* dest, const void* src, size_t n) {
//    assert(dest != NULL && src != NULL); 
//
//    char* d = (char*)dest;
//    const char* s = (const char*)src;
//
//    for (size_t i = 0; i < n; i++) {
//        d[i] = s[i];
//    }
//
//    return dest;
//}
//int main() {
//
//    char src1[] = "Hello, World!";
//    char dest1[50] = { 0 };
//    char dest2[50] = { 0 };
//    char dest3[50] = { 0 };
//
//    int numbers[] = { 1, 2, 3, 4, 5 };
//    int numbers_copy[5] = { 0 };
//
//    printf("测试基础实现:\n");
//    printf("复制前: src1 = \"%s\"\n", src1);
//    my_memcpy_byte(dest1, src1, sizeof(src1));
//    printf("复制后: dest1 = \"%s\"\n\n", dest1);
//}

//#include <stdio.h>
//#include <assert.h>
//#include <stdint.h>
//#include <time.h>
//#include <stdlib.h>
//
//
//void* my_memmove(void* dest, const void* src, size_t n) {
//    if (n == 0) return dest; 
//
//    char* d = (char*)dest;
//    const char* s = (const char*)src;
//  
//    if (s < d && d < s + n) {
//        
//        d += n;
//        s += n;
//        while (n--) {
//            *--d = *--s;
//        }
//    }
//    else {
//       
//        while (n--) {
//            *d++ = *s++;
//        }
//    }
//
//    return dest;
//}
//
//void run_memmove_tests() {
//    
//    printf("测试1: 无重叠复制\n");
//    char src1[] = "Hello, World!";
//    char dest1[50] = { 0 };
//
//    printf("复制前: src1 = \"%s\"\n", src1);
//    my_memmove(dest1, src1, sizeof(src1));
//    printf("复制后: dest1 = \"%s\"\n\n", dest1);
//
//    printf("\n性能测试 (复制16MB数据):\n");
//    const size_t MB = 16 * 1024 * 1024;
//    char* big_src = (char*)malloc(MB + 64); // 额外空间用于重叠测试
//    char* big_dest = (char*)malloc(MB + 64);
//
//    
//    for (size_t i = 0; i < MB; i++) {
//        big_src[i] = (char)(i % 256);
//    }
//
//    clock_t start, end;
//
//    start = clock();
//    my_memmove(big_dest, big_src, MB);
//    end = clock();
//    printf("标准实现 (无重叠): %.2f ms\n", (double)(end - start) * 1000 / CLOCKS_PER_SEC);
//}
//
//int main() {
//    run_memmove_tests();
//    return 0;
//}
//#include <stdio.h>
//int main()
//{
//    int a = 0x11223344;
//    char* pc = (char*)&a;
//    *pc = 0;
//    printf("%x\n", a);
//    return 0;
//}
int main()
{
	unsigned char a = 200;
	unsigned char b = 100;
	unsigned char c = 0;
	c = a + b;
	printf("% d % d" , a + b, c);
	return 0;
}